Engage Content Feed
This document should be used in tandem with the Product Feed document.
The Content Feed is how you supply Algonomy with content for use with Engage. It consists of three separate files, included inside the standard compressed Catalog Feed that you send at least once a day. This data does not need to be sent every day: it is only needed if and when there are changes to the content.
This feed can be sent in two ways: on its own, or zipped into the product feed.
Feed Files
Feed File |
Details |
Filename pattern |
---|---|---|
Content Feed |
A list and description of every piece of content being managed by Algonomy on your site. |
content_full_sitename_YYYY_MM_DD.txt |
Content Attribute Feed |
The attributes for each piece of content. A piece of content must have at least one attribute assigned to it or else it will not be displayed. |
content_attribute_sitename_YYYY_MM_DD.txt |
Note: These files can be included in the Flat File Catalog Feed when it is zipped for transfer to Algonomy, or sent on their own. Please decide which method is better for your needs with your Algonomy representative.
File Specifications
See below for the specifications for each file.
The delimiter in the file must be a pipe (|) unless another delimiter is required. If, for some reason, you are not able to use a pipe as delimiter, alert your Algonomy representative who will work with you to accommodate your specific needs.
Content Feed
Filename: content_full_sitename_YYYY_MM_DD.txt required
Note: Content cannot have the same IDs as products. Products and content must have unique IDs.
Name |
Type |
Required? |
Definition |
---|---|---|---|
Id |
ASCII |
Yes |
A unique identifier for this piece of content. The IDs for each piece of content must remain consistent across time, i.e. this cannot be randomized. Note: Forward slashes (/) are not supported in the ContentID field. |
name |
text |
Yes |
The name of the content as it will be displayed in recommendations on site and in the Omnichannel Personalization Dashboard. The maximum length for this name is 255 characters. |
start_date |
date |
No |
When this content is available for display. If not specified, it will be available for display at any time. The format for this date is YYYY-MM-DD. |
end_date |
date |
No |
When this content is set to expire; at which point should we not display it any longer. If not specified, it will be available for display indefinitely. The format for this date is YYYY-MM-DD. |
Rating |
integer |
No |
The rating for this content (specified by client). Usually this is generated by collecting the average of customer ratings. This is not often used. |
Tags |
text |
No |
A list of tags that describe the piece of content (e.g. baby.stroller.graco). The default list delimiter is the period. Note: The maximum length for a single tag is 100 characters. If you provide more than 100 characters for one tag, the tag name will be truncated to its first 100 characters. This does not impact the total number of tags. There is no theoretical technical limit to the number of tags, but we recommend no more than twenty tags per content for manageability reasons. |
Recommendable |
Boolean |
No |
A flag for Engage content. |
Sample
- Regular Content:
id|name|start_date|end_date|rating|tags
100|Hero Shirts Sale Banner|2017-06-07|2017-07-07|5|shirts.sale.hero
200|Footer Handbag Winter Sale Banner|2017-11-01|2018-02-28||handbags.sale.footer
Content Attribute Feed
Filename: content_attribute_sitename_YYYY_MM_DD.txt required
Attributes values (and multi-valued attributes) can be listed in a column-based format or a row-based format. However, the file must adhere to one or the other; you cannot mix and match within the same file. The system automatically determines the format from the header.
The list must use a delimiter that does not exist in attribute values and should not be a list delimiter used elsewhere in the file. Values that have a period are treated as lists (this is the default behavior). The period delimits each value in the list. However, the list value delimiter may be customized when creating the feed profile.
Content attributes is where you will specify the variables needed to render a content. Things like image URLs and landing page URLs have to be passed in as attributes.
We expect each piece of content to have a minimum of one attribute. Because content is not shown unless whitelisted, this minimum attribute will be used to create the rule necessary to whitelist this content for display. In fact, if a piece of content doesn't have any associated attributes, it will not be stored in our system.
Column-based format
Name |
Type |
Required? |
Definition |
---|---|---|---|
content_id |
ASCII |
Yes |
Identifier for the content as defined in the content file Note: Forward slashes (/) are not supported in the ContentID field. |
attribute.[attribute key 1] |
text |
Yes |
First unique attribute key |
attribute.[attribute key 2] |
text |
Yes |
Second distinct attribute key |
... |
|
|
|
attribute.[attribute key N] |
text |
Yes |
Nth distinct attribute |
Sample
Basic example of the content attribute feed, in column-based format:
content_id|attribute.size|attribute.image_url|attribute.link_url
100|medium|http://mysite.com/images/100.jpg|http://mysite.com/content100
101|large|http://mysite.com/images/100.jpg|http://mysite.com/content101
Specifying multiple attributes (the list value delimiter defaults to the period but may be changed when creating the feed profile):
content_id|attribute.size|attribute.color
100|small.large|red.green
Row-based format
Name |
Type |
Required? |
Definition |
---|---|---|---|
content_id |
ASCII |
Yes |
Identifier for the content as defined in the content file Note: Forward slashes (/) are not supported in the ContentID field. |
attr_name |
text |
Yes |
Unique attribute key |
attr_value |
text |
Yes |
Name of the attribute |
Samples
Basic example of the content attribute feed, in row-based format:
content_id|attr_name|attr_value
100|size|medium
200|size|large
100|image_url|http://mysite.com/images/100.jpg
200|image_url|http://mysite.com/images/200.jpg
100|link_url|http://mysite.com/content100
200|link_url|http://mysite.com/content200
Specifying multiple attributes in separate rows:
content_id|attr_name|attr_value
100|color|red
100|size|small